home *** CD-ROM | disk | FTP | other *** search
/ PCMania 64 / PCMania CD64_1.iso / phy / phy005 / oop / room.hpp < prev    next >
C/C++ Source or Header  |  1997-06-21  |  1KB  |  36 lines

  1. //  Definición de la clase habitación.
  2.  
  3. #ifndef __ROOM__
  4. #define __ROOM__
  5.  
  6. #define    MAX_OBJ      20        //  Número máximo de objetos por habitación.
  7. #define R_NORTE      1
  8. #define R_ESTE       2
  9. #define R_SUR        3
  10. #define R_OESTE      4        //  Los puntos cardinales
  11.  
  12. #include "objects.hpp"        //  Incluye la definición de los objetos.
  13.  
  14. class Room {
  15.   private:
  16.     char   *texto;        //  Texto mostrado al entrar.
  17.     objeto *cosa[MAX_OBJ];    //  Define los objetos que hay en el suelo.
  18.     int    num_obj;    //  Número de objetos en el array.
  19.     Room   *norte;
  20.     Room   *este;
  21.     Room   *sur;
  22.     Room   *oeste;        //  Las salidas de la habitación.
  23.   public:
  24.     void    describe(void);            //  Muestra la descripción de la sala.
  25.     objeto *coge_obj(Texto &que);    //  Devuelve un objeto pasado en "que".
  26.     void    deja_obj(objeto *cual);    //  Deja un objeto.
  27.     void    conecta(Room *h1, int direc);
  28.                     //  Conecta 2 habitaciones.
  29.     void    salidas(void);        //  Muestra las salidas.
  30.     Room   *ir_a(int direc);    //  Devuelve la habitación del lado.
  31.     objeto *info_objeto(int index);    //  Devuelve un objeto de la sala.
  32.         Room(char *text);    //  Constructor con sólo texto.
  33.            ~Room() { /* Nada */ };  //  Destructor que no hace nada.
  34.  };
  35.  
  36. #endif